home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / RMDOOR20.ARJ / RMDOOR.DOC < prev    next >
Text File  |  1992-01-19  |  19KB  |  1,057 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                    RMDoor
  33.                                 Version 2.0
  34.            Copyright (c) 1991-1992 By Mark Goodwin and Randy Hunt
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.      RMDoor                                                          i
  74.  
  75.                               COPYRIGHT NOTICE
  76.                               ----------------
  77.  
  78.      RMDoor  is  a  copyrighted program  being  distributed  under the
  79.      shareware concept.  As such you may use RMDoor for a period of 30
  80.      days  without  registering  the  software.    After  the  30  day
  81.      evaluation period, you  must register your copy of  RMDoor or you
  82.      will be in violation of United States and International copyright
  83.      laws.
  84.  
  85.      As  a shareware program, RMDoor may be freely distributed through
  86.      a BBS.  Shareware distributors may distribute copies of RMDoor on
  87.      disk  for a modest  disk duplication charge not  to exceed $6 per
  88.      disk.
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.      RMDoor                                                         ii
  140.  
  141.                                   WARRANTY
  142.                                   --------
  143.  
  144.      RMDoor is  distributed without warranty.   In no event  will Mark
  145.      Goodwin or Randy Hunt be liable to you for damages, including any
  146.      loss  of   profits,  lost   savings,  or   other  incidental   or
  147.      consequential damages arising out of  your use of or inability to
  148.      use  the  program,  even  if  Mark Goodwin,  Randy  Hunt,  or  an
  149.      authorized  representative has been advised of the possibility of
  150.      such damages.  Mark Goodwin and Randy Hunt will not be liable for
  151.      any such claim by any other party.
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.      RMDoor                                                        iii
  206.  
  207.                              TABLE OF CONTENTS
  208.                              -----------------
  209.  
  210.  
  211.      INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . .   1
  212.  
  213.      USING RMDOOR  . . . . . . . . . . . . . . . . . . . . . . . .   2
  214.  
  215.      RUNNING AN RMDOOR DOOR  . . . . . . . . . . . . . . . . . . .   3
  216.  
  217.      SPECIAL KEYS  . . . . . . . . . . . . . . . . . . . . . . . .   4
  218.  
  219.      THE RMDOOR VARIABLES  . . . . . . . . . . . . . . . . . . . .   5
  220.           ansicolor  . . . . . . . . . . . . . . . . . . . . . . .   5
  221.           baudrate . . . . . . . . . . . . . . . . . . . . . . . .   5
  222.           bbsname  . . . . . . . . . . . . . . . . . . . . . . . .   5
  223.           callingfrom  . . . . . . . . . . . . . . . . . . . . . .   5
  224.           doorname . . . . . . . . . . . . . . . . . . . . . . . .   5
  225.           lockedrate . . . . . . . . . . . . . . . . . . . . . . .   5
  226.           minutesleft  . . . . . . . . . . . . . . . . . . . . . .   5
  227.           phonenumber  . . . . . . . . . . . . . . . . . . . . . .   6
  228.           seclevel . . . . . . . . . . . . . . . . . . . . . . . .   6
  229.           sysopname  . . . . . . . . . . . . . . . . . . . . . . .   6
  230.           userfirstname  . . . . . . . . . . . . . . . . . . . . .   6
  231.           username . . . . . . . . . . . . . . . . . . . . . . . .   6
  232.  
  233.      THE RMDOOR PROCEDURES AND FUNCTIONS . . . . . . . . . . . . .   7
  234.           rmclrscr . . . . . . . . . . . . . . . . . . . . . . . .   7
  235.           rmdisplayfile  . . . . . . . . . . . . . . . . . . . . .   7
  236.           rmgetbackground  . . . . . . . . . . . . . . . . . . . .   7
  237.           rmgetforeground  . . . . . . . . . . . . . . . . . . . .   7
  238.           rmgotoxy . . . . . . . . . . . . . . . . . . . . . . . .   7
  239.           rmreadi  . . . . . . . . . . . . . . . . . . . . . . . .   7
  240.           rmreadkey  . . . . . . . . . . . . . . . . . . . . . . .   7
  241.           rmreadl  . . . . . . . . . . . . . . . . . . . . . . . .   8
  242.           rmreads  . . . . . . . . . . . . . . . . . . . . . . . .   8
  243.           rmsetcolor . . . . . . . . . . . . . . . . . . . . . . .   8
  244.           rmtimeleft . . . . . . . . . . . . . . . . . . . . . . .   9
  245.           rmtimeon . . . . . . . . . . . . . . . . . . . . . . . .   9
  246.           rmwrite  . . . . . . . . . . . . . . . . . . . . . . . .   9
  247.           rmwritei . . . . . . . . . . . . . . . . . . . . . . . .   9
  248.           rmwritel . . . . . . . . . . . . . . . . . . . . . . . .   9
  249.           rmwriteln  . . . . . . . . . . . . . . . . . . . . . . .   9
  250.           rmwritelni . . . . . . . . . . . . . . . . . . . . . . .   9
  251.           rmwritelnl . . . . . . . . . . . . . . . . . . . . . . .  10
  252.  
  253.      SUPPORT . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  254.  
  255.      REGISTRATION  . . . . . . . . . . . . . . . . . . . . . . . .  12
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.      RMDoor                                                          1
  272.  
  273.                                 INTRODUCTION
  274.                                 ------------
  275.  
  276.      RMDoor is a  comprehensive set of Turbo  Pascal routines designed
  277.      to  enable programmers  to easily  write  doors for  BBSes.   The
  278.      following are some of RMDoor's many features:
  279.  
  280.           Assembly  language  serial  input/output  routines  for
  281.           maximum speed.
  282.  
  283.           Fully  supports high speed modems: 16550 FIFO buffering
  284.           and locked serial ports.
  285.  
  286.           Built in  ANSI  terminal emulator.    No need  to  have
  287.           ANSI.SYS loaded in memory.
  288.  
  289.           Supports  all  of  the  most  popular  door  data  file
  290.           formats:  TriTel,  PCBoard, GAP  (DOOR.SYS),  Spitfire,
  291.           WildCat!,  and RBBS.  Thus, a  door built around RMDoor
  292.           is compatible with a wide range of BBS software.
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.      RMDoor                                                          2
  338.  
  339.                                 USING RMDOOR
  340.                                 ------------
  341.  
  342.      Because  RMDoor comes supplied is  a Turbo Pascal  unit it can be
  343.      seamlessly  integrated with your door program by simply including
  344.      the following two lines in your door program:
  345.  
  346.      {$M $4000,0,0}
  347.      uses rmdoor;
  348.  
  349.      The  first line is a {$M} compiler  directive and is necessary to
  350.      enable RMDoor's Drop to DOS function.  If you omit this line from
  351.      your door  program, RMDoor will  not be able  to drop to  DOS and
  352.      will display  an appropriate error  message to the sysop.   NOTE:
  353.      The  {$M} compiler  directive also  affects  your program's  heap
  354.      space.  Be  sure that the final two values are set accordingly if
  355.      you dynamically allocate memory.
  356.  
  357.      The second line is a  "uses" statement and simply instructs Turbo
  358.      Pascal to  include  the RMDOOR.TPU  unit  in your  compiled  door
  359.      program.
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.      RMDoor                                                          3
  404.  
  405.                            RUNNING AN RMDOOR DOOR
  406.                            ----------------------
  407.  
  408.      An RMDoor-based door program is run by entering a command similar
  409.      to the following:
  410.       
  411.      door config
  412.  
  413.      In the above command line, "door" is  the name of your door's EXE
  414.      file  and  the "config"  parameter  is  the  name of  the  door's
  415.      configuration file.  The configuration file can have any name the
  416.      sysop chooses,  but it must reside  in the same directory  as the
  417.      door.   The configuration  file is  an ASCII  text file  with the
  418.      following format:
  419.  
  420.      Line 1:   Door data file type.
  421.      Line 2:   Path to the door data file(s).
  422.      Line 3:   BBS name.
  423.      Line 4:   Sysop's name.
  424.      Line 5:   Locked baud rate.
  425.  
  426.      As illustrated above,  the door's data file type  is specified in
  427.      line 1 and can be PCB for PCBoard, GAP for GAP (DOOR.SYS), SF for
  428.      Spitfire, RBBS  for RBBS, WC  for WildCat! or TRITEL  for TriTel.
  429.      The locked  baud  rate is  specified in  line 5.    If the  sysop
  430.      doesn't  lock his serial port,  he must specify  0 for the locked
  431.      baud rate.  NOTE: Although many  door formats do pass the  locked
  432.      baud rate in the door data files, some older formats such as RBBS
  433.      do not.   For  conformity, RMDoor requires  that you  specify the
  434.      locked baud rate  in line 5 and  ignores any value passed  in the
  435.      door data files.
  436.  
  437.      The following is a sample door configuration file:
  438.  
  439.      PCB
  440.      C:\tritel\
  441.      The Lobster Buoy
  442.      Mark Goodwin
  443.      38400
  444.  
  445.      RMDoor can be run locally without a door data file (handy for the
  446.      sysop  to  use  the  door  without  logging  on  to  the  BBS) by
  447.      specifying  LOCAL after the  configuration file parameter  in the
  448.      DOS command line.  RMDoor will request the user to enter his name
  449.      before running the door.
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.      RMDoor                                                          4
  470.  
  471.                                 SPECIAL KEYS
  472.                                 ------------
  473.  
  474.      While a door is running, the sysop can press certain special keys
  475.      to perform a  variety of functions.   The following is a  list of
  476.      the functions that the RMDoor special keys perform:
  477.  
  478.      Key(s)              Function
  479.  
  480.      HOME                Toggles between the user  status window and a
  481.                          help  display that  lists the  RMDoor special
  482.                          keys.
  483.  
  484.      F6                  Takes 5 minutes away from the caller.
  485.                          NOTE:  This will NOT be returned to BBS.
  486.  
  487.      F7                  Gives 5 minutes to the caller.
  488.                          NOTE:  This will NOT be returned to the BBS.
  489.  
  490.      F9                  Quit  the door and  return the caller  to the
  491.                          BBS.
  492.  
  493.      F10                 Enter  chat mode.  Pressing the ESC key exits
  494.                          the chat mode.
  495.  
  496.      Alt+D               Drop to DOS.
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.      RMDoor                                                          5
  536.  
  537.                             THE RMDOOR VARIABLES
  538.                             --------------------
  539.  
  540.      The following are  the global variables that  RMDoor supplies for
  541.      the door author's convenience:
  542.  
  543.  
  544.      ansicolor : boolean;
  545.  
  546.      The  ansicolor variable  is set to  True for a  caller using ANSI
  547.      color graphics or to False for a monochrome caller.
  548.  
  549.  
  550.      baudrate : longint;
  551.  
  552.      The baudrate variable  holds the caller's baud rate.  This is the
  553.      callers  actual connection  rate and  not the  locked baud  rate.
  554.      NOTE: RMDoor will set baudrate to 0 for local calls.
  555.  
  556.  
  557.      bbsname : string;
  558.  
  559.      The bbsname variable holds the BBS's name.
  560.  
  561.  
  562.      callingfrom : string;
  563.  
  564.      The callingfrom variable  holds the user's city and  state.  This
  565.      may not be  supported by all  door formats and  will be set to  a
  566.      null string if not.
  567.  
  568.  
  569.      doorname : string;
  570.  
  571.      The doorname  variable holds  the door's name.   The  door's name
  572.      will be displayed  in the user  status window.   NOTE: It is  the
  573.      door author's responsibility to assign a value to this variable.
  574.  
  575.  
  576.      lockedrate : longint;
  577.  
  578.      The lockedrate variable holds the serial port's locked baud rate,
  579.      if any.
  580.  
  581.  
  582.      minutesleft : integer;
  583.  
  584.      The  minutesleft variable holds the  number of minutes the caller
  585.      had remaining when he entered the door.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.      RMDoor                                                          6
  602.  
  603.  
  604.      phonenumber : string;
  605.  
  606.      The phonenumber variable holds the user's phone number.  This may
  607.      not be supported by  all door formats and  will be set to  a null
  608.      string if not.
  609.  
  610.  
  611.      seclevel : integer;
  612.  
  613.      The seclevel variable holds the caller's security level.
  614.  
  615.  
  616.      sysopname : string;
  617.  
  618.      The sysopname variable holds the sysop's name.
  619.  
  620.  
  621.      userfirstname : string;
  622.  
  623.      The userfirstname variable holds the user's first name.
  624.  
  625.  
  626.      username : string;
  627.  
  628.      The username variable holds the user's name.
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.      RMDoor                                                          7
  668.  
  669.                     THE RMDOOR PROCEDURES AND FUNCTIONS
  670.                     -----------------------------------
  671.  
  672.      The following is  a explanation of procedures  and functions that
  673.      RMDoor provides:
  674.  
  675.  
  676.      procedure rmclrscr;
  677.  
  678.      The rmclrscr procedure clears both the local and remote displays.
  679.  
  680.  
  681.      procedure rmdisplayfile(filename : string; pause : boolean);
  682.  
  683.      The rmdisplayfile procedure displays a file to both the local and
  684.      the remote displays.   The file to  be displayed is  specified by
  685.      "filename".  The  "pause" parameter specifies whether  or not the
  686.      display is to be paused every 24 lines.
  687.  
  688.  
  689.      function rmgetbackground : integer;
  690.  
  691.      The  rmgetbackground  function  returns  the  current  background
  692.      color.
  693.  
  694.  
  695.      function rmgetforeground : integer;
  696.  
  697.      The  rmgetforeground  function  returns  the  current  foreground
  698.      color.
  699.  
  700.  
  701.      procedure rmgotoxy(x, y : integer);
  702.  
  703.      The rmgotoxy  procedure positions the  cursor for both  the local
  704.      and  remote  displays.    The  cursor's new  column  position  is
  705.      specified  by the  "x"  parameter  and its  new  row position  is
  706.      specified by the "y" parameter.  NOTE: This will only work if the
  707.      user  has  ANSI enabled  (RMDoor  will ignore  this  statement if
  708.      called when the user does not have ANSI enabled).
  709.  
  710.  
  711.      function rmreadi : integer;
  712.  
  713.      The  rmreadi function  returns the  value of  an integer  that is
  714.      entered either locally or remotely.
  715.  
  716.  
  717.      function rmreadkey : char;
  718.  
  719.      The rmreadkey function waits for either a  key to be pressed or a
  720.      character to  come in  through the  serial port.   As  soon as  a
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.      RMDoor                                                          8
  734.  
  735.      character is available, its value will be returned by rmreadkey.
  736.  
  737.  
  738.      function rmreadl : longint;
  739.  
  740.      The  rmreadl function  returns the  value  of a  longint that  is
  741.      entered either locally or remotely.
  742.  
  743.  
  744.      function rmreads : string;
  745.  
  746.      The  rmreads function  returns  the  value of  a  string that  is
  747.      entered either locally or remotely.
  748.  
  749.  
  750.      procedure rmsetcolor(f, b : integer);
  751.  
  752.      The  rmsetcolor  procedure  sets the  foreground  color  (the "f"
  753.      parameter) and the background color (the "b" parameter)  for both
  754.      the local and remote displays.  NOTE: The colors will only be set
  755.      if the  caller has ANSI  color graphics enabled.   The foreground
  756.      colors are as follows:
  757.  
  758.            0 - Black
  759.            1 - Blue
  760.            2 - Green
  761.            3 - Cyan
  762.            4 - Red
  763.            5 - Magenta
  764.            6 - Brown
  765.            7 - White
  766.            8 - Dark grey
  767.            9 - Light blue
  768.           10 - Light green
  769.           11 - Light cyan
  770.           12 - Light red
  771.           13 - Light magenta
  772.           14 - Yellow
  773.           15 - Bright white
  774.  
  775.      The background colors are as follows:
  776.  
  777.            0 - Black
  778.            1 - Blue
  779.            2 - Green
  780.            3 - Cyan
  781.            4 - Red
  782.            5 - Magenta
  783.            6 - Brown
  784.            7 - White
  785.            8 - Black with blinking foreground
  786.            9 - Blue with blinking foreground
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.      RMDoor                                                          9
  800.  
  801.           10 - Green with blinking foreground
  802.           11 - Cyan with blinking foreground
  803.           12 - Red with blinking foreground
  804.           13 - Magenta with blinking foreground
  805.           14 - Yellow with blinking foreground
  806.           15 - White with blinking foreground
  807.  
  808.  
  809.      function rmtimeleft : integer;
  810.  
  811.      The  rmtimeleft function returns the number of minutes the caller
  812.      has remaining.
  813.  
  814.  
  815.      function rmtimeon : integer;
  816.  
  817.      The  rmtimeon function  returns the  number of  minutes that  the
  818.      caller has been in the door.
  819.  
  820.  
  821.      procedure rmwrite(s:string);
  822.  
  823.      The   rmwrite  procedure  displays  a  string  both  locally  and
  824.      remotely.
  825.  
  826.  
  827.      procedure rmwritei(i : integer);
  828.  
  829.      The  rmwritei  procedure  displays an  integer  both  locally and
  830.      remotely.
  831.  
  832.  
  833.      procedure rmwritel(l : longint);
  834.  
  835.      The  rmwritel procedure  displays  a  longint  both  locally  and
  836.      remotely.
  837.  
  838.  
  839.      procedure rmwriteln(s:string);
  840.  
  841.      The  rmwriteln procedure  displays  a  string  both  locally  and
  842.      remotely.  After displaying the  string, RMDoor will send a CR/LF
  843.      pair to the local and remote displays.
  844.  
  845.  
  846.      procedure rmwritelni(i : integer);
  847.  
  848.      The rmwritelni  procedure displays  an integer  both locally  and
  849.      remotely.  After displaying the integer, RMDoor will send a CR/LF
  850.      pair to the local and remote displays.
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.      RMDoor                                                         10
  866.  
  867.      procedure rmwritelnl(l : longint);
  868.  
  869.      The  rmwritelnl procedure  displays a  longint  both locally  and
  870.      remotely.  After displaying the longint, RMDoor will send a CR/LF
  871.      pair to the local and remote displays.
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.      RMDoor                                                         11
  932.  
  933.                                   SUPPORT
  934.                                   -------
  935.  
  936.      You  may  obtain assistance  with  a  RMDoor related  problem  by
  937.      calling  either  James  Bond's Hideaway  at  207-942-6575  or The
  938.      Lobster Buoy at 207-941-0805.
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.      RMDoor                                                         12
  998.  
  999.                                 REGISTRATION
  1000.                                 ------------
  1001.  
  1002.      Registration  of RMDoor is only  $25.00.  Please  use the form in
  1003.      the  file  REGISTER.TXT.    When you  register  RMDoor,  you will
  1004.      receive a letter of  verification and a note on how  to turn your
  1005.      shareware version of RMDoor into a registered version.
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.